# 定义函数
def stu_info(name,age,gender='男'):  #缺省值参数必须放在其他参数的末尾，否则直接报错
    print(f"{name}的年龄是:{age},性别是{gender}")#打印学生基本信息
stu_info("张飞",17,"男")
stu_info(age=19,name="张飞",gender="男")#



# 多值参数
# 应用场景: 定义函数处理的参数个数不确定,需要用多值参数
def func(*agrs):
    print(agrs) #args的结果是一个元组类型的数据



# 案例1
# 1.定义一个函数，sum_number,可以接收的 任意多个整数
# 2.功能要求：将传递的，所有数字累加，并且返回累加结果
# 分析
# 1.定义函数（有参数，并且个数不确定）
def sum_number(*args):
    result = 0  #定义初始结果变量
    for i in args:
        result += i
    return f"累加的结果是：{result}"
# 调用函数
aa = sum_number(1,2,3,4,5,6,7)
print(aa)




# 元组拆包
# 目的：调用多值函数时，
# 调用函数时，在元组变量名前加 *
# 案例
# 定义函数（有参数，并且个数不确定）
def sum_numbers(*args):
    """累计求和返回结果,:param args: 多个参数,:return: 返回计算结果"""
    # 多值参数的结果元组，所有数据累计求和：对于元组里面所有元素累计求和
    # 元组元素取出来，然后分别累计求和
    result = 0
    for i in args:
        result += i
    return result
















